home *** CD-ROM | disk | FTP | other *** search
/ Dream 49 / Amiga_Dream_49.iso / beos / jeux / critical_mass_1.000 / Critical Mass 1.0.1 / readme.txt < prev   
Text File  |  1998-01-12  |  4KB  |  78 lines

  1. Critical Mass for BeOS:
  2.  
  3. About Critical Mass:
  4.  
  5. Critical Mass is a strategy game that I implemented as a class project two years ago.  I originally implemented it in Pascal under MacOS as a way of learning how to use the Mac Toolbox.  I still have it kicking around on my webpage:
  6.     home.cc.umanitoba.ca/~umcarr
  7.  
  8. At one point, a friend and I tried re-implementing it in Java, but ended up deciding that Java was a pain, largely because we had serious trouble getting the images & sounds necessary read in properly.
  9.  
  10. When I installed the BeOS on my PowerBase 180, I decided to re-implement Critical Mass in C++ on the Be, to learn the BeOS API.  Due to the pressure of classes, it got worked on briefly in August, and I just spent 2 days finishing it up (Dec., 1997).  Enjoy.
  11.  
  12. Shareware conditions:
  13.  
  14. 1.    If you are a student, it's free.  [I know what it feels like]
  15.  
  16. 2.    If you are a registered Be developer, it's free, but you are *requested* to send me a free copy of one of your products.
  17.  
  18. 3.    If you are anyone else, the shareware fee is $5, which you can mail to me at:
  19.         Hamish Carr
  20.         186 Lyndale Drive
  21.         Winnipeg, Manitoba
  22.         CANADA
  23.         R2H 1K3
  24.  
  25. 4.    If you have suggestions, bug reports, &c., please send them to:
  26.         umcarr@ccu.umanitoba.ca 
  27.  
  28. Features already implemented:
  29.  
  30. 1.    Independent threads for display & thinking --> it starts thinking up it's next move while it is still displaying the results of your move.  Semaphores are my friends.  ;-)
  31.  
  32. 2.    Minmax lookahead for AI.
  33.  
  34. 3.    Heuristic evaluation of boards for all except the Random player
  35.  
  36. Features from the Mac version that weren't implemented:
  37.  
  38. 1.    Saved games.
  39. 2.    Move takeback
  40. 3.    Unlimited undo/redo/replay
  41. 4.    Processor hogging (hey - no pre-emptive multitasking on the MacOS - it's a feature, not a bug)
  42. 5.    B/W version (I used to have a 21" G/S monitor)
  43. 6.    Suggested moves
  44.  
  45. Features that I *MAY* get round to implementing some day:
  46.  
  47. 1.    Alpha-beta pruning:  With a branching factor of 20-30, the top level (a 4-level lookahead) is already slow.  Alpha-beta pruning might let us lookahead 6-levels, but even more slowly.  Oddly, it works better with even lookaheads than odd lookaheads.
  48. 2.    Brain restarting.  At present, changes to the type of players take effect as of their next move.  I *SHOULD* change it immediately, but I'm feeling lazy
  49.  
  50. Enjoy the game, and let me know if you can consistently beat the top level.
  51.  
  52. Known Bugs:    (as of v. 1.0)
  53.  
  54.     If the program crashes, it should show an alert box with a strange message, then die, using the regular BeOS crash alert.  I know what's causing this, but since I haven't had it crash yet except when I left stuff out, I don't feel inclined to fix it up.
  55.     Bonus trivia question:    what does the alert box say, and how do you get it to show up?
  56.     When you select "New Game", it kills the other threads:  this means that some memory will leak (those threads use pointers to some data structures).  Again, I'm not inclined to worry about it right now.
  57.  
  58. Updates:
  59.  
  60. v. 1.0.1    Jan. 11, 1998
  61.     Thanks to Markian Hlynka for this idea:
  62.     Added a new menu to allow the user to set the priority assigned to the threads
  63.     that do the thinking at the "Bill Kocay" level.  Use at your own risk!
  64.     Fixed bug in memory allocation when starting up, and fixed MIME type on
  65.     initialization (thanks to J. Watte for finding these).
  66.  
  67. v. 1.0    Jan. 10, 1998
  68.     higher-level brains are now multi-threaded - 5 threads think up the next move,
  69.     1 for each row.  I guess if someone builds an 8-processor box, I may need to 
  70.     update it.. ;-)
  71.     priority of high-level brain threads reduced to B_LOW_PRIORITY.  This keeps
  72.     the GUI from slowing down elsewhere.  I guess that means that the pop-up 
  73.     menus in the Tracker are B_LOW_PRIORITY, eh?
  74.  
  75. v. 0.98    Jan. 8, 1998:
  76.     sound now works
  77.     added status bar for higher level thinkers
  78.     adjusted the right-hand edge of the window slightly